As storage devices for use in information processing systems, disk array devices (also referred to as RAID (redundant arrays of inexpensive disks) device) are widely used to enhance high-speed data access performance and data failure tolerance. The disk array devices are frequently used in open systems that operate with different kinds of general-purpose operating systems and thus have a data format of fixed-length records.
When data is stored in a storage device, the data is given an error check code for determining whether the data has an error. In the fixed-length data format, for example, an error check code is given to each of logical blocks.
Japanese Laid-open Patent Publication No. 2006-107311
Japanese Laid-open Patent Publication No. 2007-115390
A storage control apparatus temporarily holds in a memory data corresponding to a write request from a host, and then stores the same in a storage device. At that time, some abnormality may occur in the data and may result in a failure in normal data writing into the storage device.
For example, depending on the form of data failure, the data may not be written on a logical block basis into the storage device, and thus the stored data may be held without being updated. At that time, the storage device holds the old data and the error check code for the same. If the storage device is subjected to staging in this state, the storage control apparatus will determine the old data to be proper because there is a match between the error check code read into a cache memory and the error check code calculated from the data read into the cache memory. Since the storage control apparatus does not detect the failure of data writing into the storage device, the storage control apparatus returns the old data to the host where data corruption occurs.